"""8.4 类的函数定义
一、类的函数定义
二、对象的函数定义
三、类的静态方法定义
"""
class PersonInfo:
    cls_name="类的属性"
    '''一、类的函数定义
    类的函数定义格式：
    @classmethod  
    def 类的函数名(cls):
        类的函数体
        return 返回值
    '''
    #类的函数定义：这个类的对象共享的函数; cls代表当前类的引用，用于访问类的属性和方法。
    @classmethod
    def cls_func(cls):
        print("类的函数定义：这个类的对象共享的函数")
        print("类的函数定义：这个类的对象共享的函数",cls.cls_name)#PersonInfo.cls_name 相同


'''一、调用类的函数'''
#类的函数调用：类名.类的函数
PersonInfo.cls_func()

'''二、对象的函数定义'''
class PersonInfo2:

    def __init__(self,name,age):
        self.name=name
        self.age=age

    '''对象的函数定义：这个类的对象独有的函数
    对象的函数定义格式：
    def 对象的函数名(self):
        对象的函数体
        return 返回值
        '''
    def show_obj_info(self):
        print("对象的函数定义：这个类的对象独有的函数")
        print("对象的函数定义：这个类的对象独有的函数",self.name)
        print("对象的函数定义：这个类的对象独有的函数",self.age)
    ''''静态方法定义：这个类的对象共享的函数'''
    @staticmethod
    def static_func():
        print("静态方法定义：这个类的对象共享的函数")

'''二、调用对象的函数'''
person2=PersonInfo2("李四",20)
#对象的函数调用：对象名.对象的函数
person2.show_obj_info()
'''三、调用静态方法'''
#静态方法调用：类名.静态方法
PersonInfo2.static_func()